Discovering an event using a personal preference list and presenting matching events to a user on a display

ABSTRACT

A user profile is used to assist a user in identifying events of interest and to provide context to users regarding events that matches user preferences. The user profile may be based on behaviors exhibited on a mobile device, on input by the user or on data on the mobile device. The user profile is analyzed to provide notification of events of interest to the user based upon the analysis of the user profile. The user profile may include anything that contributes to a state on the device.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application is a continuation of application Ser. No.13/530,174, filed Jun. 22, 2012, now U.S. Pat. No. 8,725,180, entitled“Discovering an Event Using a Personal Preference List and PresentingMatching Events to a User on a Display”, which is a continuation ofapplication Ser. No. 12/163,203, now U.S. Pat. No. 8,208,905, filed Jun.27, 2008, entitled “Discovering an Event Using a Personal PreferenceList and Presenting Matching Events to a User on a Display”, which areincorporated herein by their reference.

BACKGROUND

Staying current with opportunities to attend the abundance ofentertainment and sporting events available today is a challenging task.Currently, if a user wants to attend an event, such as a live musicshow, the user has to search through a flat listing of events. Suchlistings may be found on the internet or in local news papers. Mostvenue listing sites list every band, sporting event, play, etc. thatoccurs in the user's immediate location for the night the user isinterested in attending an event. The user reviews the list of allevents for any particular evening, and if the user observes a band or aperformer of interest, the user may investigate purchasing tickets toattend the event.

In many cases, the user may read through the entire list and not see alive event by a performer that they recognize. In such a case, the userhas very few options for identifying a live show that night. The usercan pick a show at random or else look for a third party or editorialrecommendation.

It is with respect to these and other considerations that the presentinvention has been made.

SUMMARY

This summary is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription. This summary is not intended to identify key features oressential features of the claimed subject matter, nor is it intended asan aid in determining the scope of the claimed subject matter.

Embodiments are described for assisting a user in identifying events andproviding context to user regarding events that matches userpreferences. The user profile may be based on behaviors exhibited on amobile device, on input by the user or on data on the mobile device. Theuser profile is analyzed to provide notification of events of interestto the user based upon the analysis of the user profile. The userprofile may include anything that contributes to a state on the device.Thus, new applications and experiences are provided for a mobile device.

According to one embodiment of the present invention, a user profile fora user of a mobile device is developed, the user profile is transferredto an event aggregator server, the user profile is processed at theevent aggregator to identify personalized event results associated withthe user profile, the personalized event results are returned to themobile device of the user and a notification is provided to the user ofthe mobile device based upon receipt of the personalized event resultsby the mobile phone.

These and other features and advantages will be apparent from a readingof the following detailed description and a review of the associateddrawings. It is to be understood that both the foregoing generaldescription and the following detailed description are explanatory onlyand are not restrictive of the invention as claimed.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a system for providing for discovery of an event ofinterest in a region using a personal preference list and for presentingnotification of events of interest to a user according to an embodimentof the present invention;

FIG. 2 illustrates events services system according to an embodiment ofthe present invention;

FIG. 3 illustrates a diagram showing relationships between types of dataassociated with generation of a user profile according to an embodimentof the present invention;

FIG. 4 is a flow chart of a method for providing for discovery of anevent of interest in a region using a personal preference list and forpresenting notification of events of interest to a user according to anembodiment of the present invention; and

FIG. 5 illustrates an operating environment for embodiments of theinvention.

DETAILED DESCRIPTION

According to an embodiment of the present invention, a user profile of amobile device is developed to provide new applications and experienceson the mobile device. The user profile is used to provide context touser on upcoming events and may be based on behaviors exhibited on amobile device. To provide notification of events of interest to theuser, the user profile is analyzed. The user profile may includeanything that contributes to a state on the device.

FIG. 1 illustrates a system 100 for providing for discovery of an eventof interest and for presenting notification of events of interest to auser according to an embodiment of the present invention. In FIG. 1, amobile device 110 is coupled to a content and recommendation generator150. Herein, mobile device 110 may include a cellphone, a smartphone, apersonal digital assistant (PDA), a tablet PC, or any processing devicehaving a signaling capability, or a mobile computer such as a notebookPC or ultra-PC, etc. The mobile device 110 includes an operating system112, e.g., WINDOWS MOBILE® operating system. A storage device 114 isused to maintain a user profile 116. The user profile 116 may beconfigured in the form of an XML document. The data of the user profile116 may be based on user input, search queries made by the user,subscriptions, contacts, the user's primary location, the user's currentlocation, or derived from another profile etc. The user's primarylocation is generally the user's home service area. Accordingly, theuser profile 116 includes data obtained from sources, such as media 118,user favorites in an Internet Explorer® browser 120, search queries 122,phone book entries 124, user location 126 and other sources 128. Forexample, the user profile 116 may include a catalog of artists in themusic library of the user.

The user profile 116 may be uploaded to a service provided by a contentand recommendation generator 150 that then can take the user profile 116and make suggestions based upon the data in the user profile 116. Forexample, if a user profile 116 indicates that a user likes Bob Dylan,the service may suggest to the user that the user may also like DaveMatthews. Other events having some predetermined relationship to data inthe user profile 116 may also be suggested. For example, based uponmusical tastes identified via the user profile 116, the service providedby a content and recommendation generator 150 may suggest a show or playthat appeals to other users that have the same musical tastes.Similarly, if the music of an artist in a user profile 116 is alsofeatured in a movie, the service provided by a content andrecommendation generator 150 may suggest that the user might also beinterested in the movie.

When developing the user profile 116, the user may be presented withchoices. For example, an entry point may be included in the userinterface 148 such that if the user looks at all the albums belonging toa particular artist from media 118, then a pivot point may be presentedto the user to enable a user to view events or shows associated withthat artist. The user may then navigate through a series of steps to setup their profile. Examples includes asking the user whether favorites inthe Internet Explorer® browser can be included in the user profile 116,whether the service provided by a content and recommendation generator150 should determine the user's current location and whether the serviceprovided by a content and recommendation generator 150 can include theuser's contacts in the preference database 114 of the mobile device 110.The user interface 148 may be configured to allow the user to check anduncheck a list of items the user wants to include in the user profile116. The user may also be presented with a choice to see a list of allshows, see a list of only shows from artists in the user's catalog ofmedia 118, see a list of shows from artists that sound like the artistsin the user's catalog of media 118, see related movies, see otherrelated art events, etc.

Accordingly, embodiments of the present invention provide a connectedentertainment experience on a mobile device 100 involving sharing,discovery and community. The experience centers on connection to, amongother items, the user's music library, connection to the user'scontacts, connection to community and connection to other devices. Toprovide a connected entertainment experience, a user interface 148 isprovided to walk users through the process. An interface 148 on themobile device or on a desktop device enables user customization of theirmobile device 110 with content that the meets their tastes. A mobiledevice 110 may also be coupled to a computer (not shown) to customizethe preferences of the user. Alternatively, the user may customize thepreferences of the user directly from the mobile device 110 withouthaving a desktop relationship.

The content and recommendation generator 150 includes an aggregationserver 152 that collects events and then matches the collected events toprofiles of registered users. In response, the content andrecommendation generator 150 provides content results 170 that includeinformation regarding events of interest. The content results 170 mayalso be generated by pivoting a list of artist scheduled to perform on aspecified date, which was provided by content and recommendationgenerator 150, to identify any other similar sounding artist. Pivots mayalso be used to take the user out to see recommended events that are notnecessary music, such as films, installations or other liveperformances. The content results 170 also may include new releases byartist identified by processing the user profile 116. Catalog artistsmay be matched to artists in a song track or in a cast lists, or bybuilding “who is who” entertainment type relationships. For example, ifthe user likes a particular artist, a suggestion may be provided to theuser to check out a particular actor.

Information regarding events may include specific events 172, targetedadvertisements 174, communications 176, location related results 178.For example, targeted advertisements may be presented to a user basedupon analysis of the user profile 116. Business communicationapplications may include suggestions regarding networking opportunities,sales and conferences.

Event related data 180 is returned to the mobile device 110. The eventrelated data 180 may include recommendations, such as upcoming eventsassociated with artists of interest to the user. Recommendations may bebased upon matching an event for a specific artist or by identifyingsimilar artist, artist of the same genre, artist using the same rhythm,artist using similar song/composition properties, etc. Similarities maybe based on musical properties or may be based on association withpurchasing information of the user.

After event related data 180 is returned to the mobile device 110,notification sources 130 of the mobile device 110 provide notificationto the user of results provide as a result of analysis of the userprofile 116. The notification sources 130 include a social calendarentry 182, mapped marked locations 184, search queries 186, socialphonebook entries 188, home screen alerts/banner ads 190 and others 192.The notification sources 130 are populated using the event related data180. Event information 180 is dynamic so that when the user is in afirst city, event information 180 is provided regarding eventsassociated with the first city. When the user lands in a second city,new event information 180 may be immediately provided to change toevents associated with the second city. If no relevant data isassociated with the location of the user, the service may indicated tothe user that an event of interest is taking place in a city that is 100miles away.

Still further, when the user is traveling, the event information 180 mayinclude a notification to the user that a person in their contact listis currently visiting the same city. Moreover, the event information 180may suggest an event that both the user and the person in their contactlist may be interested in attending while they are both in the samecity. Suggestions can even involve a picture that the user takes that istagged with a GPS coordinate and is later displayed to the user in arelevant situation determined by the system.

The user may also receive notification of an event via SMS messages 149.SMS messages 149 may also be used to provide quick updates on eventsthat the user may want to track, such as sports scores or informationabout certain companies. The user may also receive updates to certainpeople in the user's calendar or in the user's contact list.

The event related data 180 may also include suggestions for artist ofinterest to the user. Thus, rather than pushing down to the user contentidentifying everything that is happening in New York tonight, a customset of suggestions are listed for the user so that user can quicklyanalyze the suggestions. When a similar artist is suggested, thesuggestion may also include a context as to why a certain show or artistis recommended. A preview of a similar artist may be offered for reviewby the user. The event related data 180 may also be associated with alocation of a user. However, the location of the user may change. Such achange may be handled automatically using location services, such asGPS, or by entry of user input, such as entry of a city's name or zipcode.

Information in the user profile 116 may be updated periodically withoutany further action on behalf of the user. For example, the user profile116 may be updated as the user adds music to their mobile device 110.Other user data, such as activities of the user or a new point ofinterest, may also be used. In addition, applications may be configuredto present the event information 180 provided by a service inappropriate or selected locations. For example, new music may bepresented on the home screen of the user's mobile device. Moreover, theevent information 180 provided by the service may be provided to augmentany type of application, e.g., music application, video application,picture application, calendar application, contact application, browserapplication, or search application. Thus, different event information180 may be directed to different applications. For example, a coupon fordinner at a particular restaurant may be associated with a contactapplication so that the next time the user calls the restaurant or is inthe vicinity of the restaurant, an alert regarding the coupon ispresented to the user. Coupon data may even be provided to therestaurant using the user's mobile device 110 so that user receives thediscount automatically. Thus, the user does not have to remember thecoupon. Rather, associated information may be disbursed and placed inplaces where the user will discover the information naturally.

FIG. 2 illustrates events services system 200 according to an embodimentof the present invention. In FIG. 2, a mobile device 210 communicateswith event services 250. In particular, a user profile 212 may beprovided to event services 250. Event services 250 include contentaggregation 252. Content aggregation 252 obtains information regarding awide array of events 254. The content aggregation 254 provides theobtained information regarding a wide array of events 254 to a storagedevice 260. A profile analysis and recommendation engine 270 processesthe obtained information regarding a wide array of events 254 maintainedin storage device 260.

The profile analysis and recommendation engine 270 forwards to themobile phone 210 results provided by the processing of the obtainedinformation 254 maintained in storage device 260. Notifications 282 maybe presented on the display 280 of mobile device 210. As stated above,the user profile 212 may include anything that contributes to a state onthe device. Thus, the notifications 282 may include any type of datarelating to the user.

Because the user makes the decisions on what information the user wantsto share, the degree of privacy desired by the user is maintained. Oncethe decisions are made, the information is processed by the profileanalysis and recommendation engine 270 to provide suggestions. Data inthe user profile 212 may be linked to data of other users to allowcorrelation with the data of other users. The user may also provideinput to the user profile 212 to identify the type of information theuser wants to receive as suggestions. Thereafter, the profile analysisand recommendation engine 270 may generate data for populating theuser's calendar. Additional data may be provided to the mobile device210 of the user to allow the user to make queries regarding eventsassociated with an identified artist in the user profile 212. Thus,certain information may already be loaded in the user profile 212 on amobile device.

FIG. 3 illustrates a diagram showing relationships between types of dataassociated with generation of a user profile 300 according to anembodiment of the present invention. In FIG. 3, data from eventfavorites 310 is used to populate data in favorites 312 and events 314.Data from favorites 312 is used to populate categories 316. Data fromnotification 320 is also used to populate events 314. Data frompreferences 322, location 324 and events 314 populate user identity 326.

Categories 316 include identification of the user names 330 and categorycodes 332. Favorites 312 include keywords 334, a description offavorites 336 and an identification category 338. Event favorite 310includes event identifiers 340 and favorite identifiers 342.Notification 320 includes event identifiers 344, notification code 346and status information 348. Events 314 include data and time 350,information regarding recurrence of events 352, a description of events354 and event locations 356.

Preferences 322 include a user identifier 358, a key 360 and a userdefined value 362. Location 324 includes a user identifier 364, alocation name 366 and a location zip code 368. The user identity 326includes a user's ID credentials 370, the user's name 372, a usernickname 374 and a date of birth 376 of the user.

Those skilled in the art will recognize that embodiments of the presentinvention are not meant to be limited to the specific examples ofrelationships between types of data associated with generation of a userprofile 300 as illustrated in FIG. 3. Rather, the data and relationshipsassociated with generation of a user profile 300 illustrated in FIG. 3are provided merely as one embodiment. The data and relationshipsassociated with generation of a user profile 300 may include any dataand associated relationship there between used to generate a userprofile 300. Moreover, the relationships between types of dataassociated with generation of a user profile 300 illustrated in FIG. 3may include any type of data and any corresponding relationships thatcontributes to a state on the a mobile device.

FIG. 4 is a flow chart 400 of a method for providing for discovery of anevent of interest in a region using a personal preference list and forpresenting notification of events of interest to a user according to anembodiment of the present invention. A user established an account withan events service system 410. A user profile for a user of a mobiledevice is developed 420. The user profile relates to the user and isindependent of the mobile device. The user profile may be refreshed fromtime to time 430. The refreshing of the user profile may be initiated bythe user or performed without user action for refreshing the userprofile. Information regarding events is gathered 440. The user profileis provided to an event aggregator and recommendation generator forprocessing 450. Based upon the processing of the user profile inrelation to the gathered information regarding events, personalizedevent results are generated 460. The personalized event results arepresented to the user at the mobile device 470. A notification isprovided to the user of the mobile device based upon receipt of thepersonalized event results by the mobile phone 480.

Referring now to FIG. 5, the following discussion is intended to providea brief, general description of a suitable computing environment inwhich embodiments of the invention may be implemented. While theinvention will be described in the general context of program modulesthat execute in conjunction with program modules that run on anoperating system on a personal computer, those skilled in the art willrecognize that the invention may also be implemented in combination withother types of computer systems and program modules.

Generally, program modules include routines, programs, components, datastructures, and other types of structures that perform particular tasksor implement particular abstract data types. Moreover, those skilled inthe art will appreciate that the invention may be practiced with othercomputer system configurations, including hand-held devices,multiprocessor systems, microprocessor-based or programmable consumerelectronics, minicomputers, mainframe computers, and the like. Theinvention may also be practiced in distributed computing environmentswhere tasks are performed by remote processing devices that are linkedthrough a communications network. In a distributed computingenvironment, program modules may be located in both local and remotememory storage devices.

FIG. 5 illustrates an operating environment for embodiments of theinvention. As shown in FIG. 5, computer 500 comprises a general-purposedesktop, laptop, handheld, or other type of computer capable ofexecuting one or more application programs. The computer 500 includes atleast one central processing unit 508 (“CPU”), a system memory 512,including a random access memory 518 (“RAM”) and a read-only memory(“ROM”) 520, and a system bus 510 that couples the memory to the CPU508. A basic input/output system containing the basic routines that helpto transfer information between elements within the computer, such asduring startup, is stored in the ROM 520. The computer 500 furtherincludes a mass storage device 514 for storing an operating system 532,application programs, and other program modules.

The mass storage device 514 is connected to the CPU 508 through a massstorage controller (not shown) connected to the bus 510. The massstorage device 514 and its associated computer-readable media providenon-volatile storage for the computer 500. Although the description ofcomputer-readable media contained herein refers to a mass storagedevice, such as a hard disk or CD-ROM drive, it should be appreciated bythose skilled in the art that computer-readable media can be anyavailable media that can be accessed or utilized by the computer 500.

By way of example, and not limitation, computer-readable media maycomprise computer storage media and communication media. Computerstorage media includes volatile and non-volatile, removable andnon-removable media implemented in any method or technology for storageof information such as computer-readable instructions, data structures,program modules or other data. Computer storage media includes, but isnot limited to, RAM, ROM, EPROM, EEPROM, flash memory or other solidstate memory technology, CD-ROM, digital versatile disks (“DVD”), orother optical storage, magnetic cassettes, magnetic tape, magnetic diskstorage or other magnetic storage devices, or any other medium which canbe used to store the desired information and which can be accessed bythe computer 500.

According to various embodiments of the invention, the computer 500 mayoperate in a networked environment using logical connections to remotecomputers through a network 504, such as a local network, the Internet,etc. for example. The computer 500 may connect to the network 4 througha network interface unit 516 connected to the bus 510. It should beappreciated that the network interface unit 516 may also be utilized toconnect to other types of networks and remote computing systems. Thecomputer 500 may also include an input/output controller 522 forreceiving and processing input from a number of other devices, includinga keyboard, mouse, etc. (not shown). Similarly, an input/outputcontroller 522 may provide output to a display screen, a printer, orother type of output device.

As mentioned briefly above, a number of program modules and data filesmay be stored in the mass storage device 514 and RAM 518 of the computer500, including an operating system 532 suitable for controlling theoperation of a networked personal computer, such as the WINDOWS®operating systems from Microsoft Corporation of Redmond, Wash. The massstorage device 514 and RAM 518 may also store one or more programmodules. In particular, the mass storage device 514 and the RAM 518 maystore client application programs 540 and other software applications542. A computer 500, as illustrated in FIG. 5, may be configured toexecute instructions that perform the operations of embodiments of thepresent invention, and which may be implemented in components of systems100, 200 as shown in FIGS. 1-2.

It should also be appreciated that various embodiments of the presentinvention can be implemented (1) as a sequence of computer implementedacts or program modules running on a computing system and/or (2) asinterconnected machine logic circuits or circuit modules within thecomputing system. The implementation is a matter of choice dependent onthe performance requirements of the computing system implementing theinvention. Accordingly, logical operations including related algorithmscan be referred to variously as operations, structural devices, acts ormodules. It will be recognized by one skilled in the art that theseoperations, structural devices, acts and modules may be implemented insoftware, firmware, special purpose digital logic, and any combinationthereof without deviating from the spirit and scope of the presentinvention as recited within the claims set forth herein.

Although the invention has been described in connection with variousembodiments, those of ordinary skill in the art will understand thatmany modifications can be made thereto within the scope of the claimsthat follow. Accordingly, it is not intended that the scope of theinvention in any way be limited by the above description, but instead bedetermined entirely by reference to the claims that follow.

What is claimed is:
 1. A method for notifying a user of one or morerelevant events, the method comprising: receiving location data for theuser, wherein the location data for the user indicates a presentlocation of the user; accessing user profile data for the user, whereinthe user profile data represents personal preferences for events,regardless of the present location of the user, and the user profiledata is based on prior search queries from the user and customization ofthe user profile received as user input indicating the personalpreferences for events; determining one or more relevant events to occurin the future based on the location data for the user and the userprofile data for the user, wherein the one or more relevant events areone or more events near the present location of the user and having acontent satisfying the personal preferences of the user; and notifyingthe user of the one or more relevant events.
 2. The method of claim 1,wherein the location data for the user is received from a GlobalPositioning System (GPS) in the mobile device.
 3. The method of claim 1,wherein the user profile data is obtained from one or more of the groupconsisting of: media, favorites in a web browser, search query history,web browsing history, contacts, and a catalog of artists in a musiclibrary.
 4. The method of claim 1, wherein the user profile data furtherrepresents artists of interest to the user.
 5. The method of claim 1,wherein determining the one or more relevant events based on thelocation data for the user and the user profile data for the usercomprises: identifying all events near the location of the user; andfiltering the identified results based on the user profile data for theuser to determine the one or more relevant events.
 6. The method ofclaim 1, wherein determining the one or more relevant events based onthe location data for the user and the user profile data for the userfurther comprises: identifying artists from the user profile data; anddetermining similar sounding artists to the artists identified from theuser profile data.
 7. The method of claim 1, further comprising:updating the one or more events without requiring an additional requestfrom the mobile device; and notifying the user of the updated one ormore relevant events via the mobile device.
 8. The method of claim 1,wherein the content of the one or more events comprises one or more of:artist information, similar artist information, genre information,rhythm information, song properties, and composition properties.
 9. Themethod of claim 1, wherein the notifying the user of the one or morerelevant events, occurs prior to receiving a query for relevant eventsfrom a user.
 10. The method of claim 1, further comprising including acontext with the notification indicating why the event is beingrecommended.
 11. A system for notifying a user of one or more relevantevents, comprising: at least one processor; and a memory operativelyconnected to the at least one processor, the memory storing instructionsthat, when executed by the at least one processor, perform a methodcomprising: receiving location data for the user, wherein the locationdata for the user indicates a present location of the user; accessinguser profile data for the user, wherein the user profile data representspersonal preferences for events, regardless of the location of the user,and the user profile data is based on prior search queries from the userand customization of the user profile received as user input regardingthe personal preferences for events; determining one or more relevantevents to occur in the future based on the location data for the userand the user profile data for the user, wherein the one or more relevantevents are one or more events near the present location of the user andhaving a content satisfying the personal preferences of the user; andnotifying the user of the one or more relevant events.
 12. The system ofclaim 11, wherein the location data for the user is received from aGlobal Positioning System (GPS) in the mobile device.
 13. The system ofclaim 11, wherein the user profile data is obtained from one or more ofthe group consisting of: media, favorites in a web browser, search queryhistory, web browsing history, contacts, and a catalog of artists in amusic library.
 14. The system of claim 11, wherein the user profile datafurther represents artists of interest to the user.
 15. The system ofclaim 11, wherein determining the one or more relevant events based onthe location data for the user and the user profile data for the usercomprises: identifying all events near the location of the user; andfiltering the identified results based on the user profile data for theuser to determine the one or more relevant events.
 16. The system ofclaim 11, wherein determining the one or more relevant events based onthe location data for the user and the user profile data for the userfurther comprises: identifying artists from the user profile data; anddetermining similar sounding artists to the artists identified from theuser profile data.
 17. The system of claim 11, wherein the methodfurther comprises: updating the one or more events without requiring anadditional request from the mobile device; and notifying the user of theupdated one or more relevant events via the mobile device.
 18. Thesystem of claim 11, wherein the content of the one or more eventscomprises one or more of: artist information, similar artistinformation, genre information, rhythm information, song properties, andcomposition properties.
 19. A method for notifying a user of one or morerelevant events, the method comprising: transmitting location data forthe user, wherein the location data for the user indicates a presentlocation of the user; transmitting user profile data for the user,wherein the user profile data represents personal preferences forevents, regardless of the present location of the user, and the userprofile data is based on prior search queries from the user andcustomization of the user profile received as user input indicating thepersonal preferences for events; receiving a notification of the one ormore relevant events to occur in the future, wherein the one or morerelevant events were determined based on the location data for the userand the user profile data for the user, and wherein the one or morerelevant events are one or more events near the present location of theuser and having a content satisfying the personal preferences of theuser.
 20. The method of claim 19, wherein the location data for the useris transmitted from a Global Positioning System (GPS) in the mobiledevice.